home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SETJMP C Library Procedures SETJMP
-
-
-
- NNAAMMEE
- setjmp, longjmp - non-local goto
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<sseettjjmmpp..hh>>
-
- sseettjjmmpp((eennvv))
- jjmmpp__bbuuff eennvv;;
-
- lloonnggjjmmpp((eennvv,, vvaall))
- jjmmpp__bbuuff eennvv;;
-
- __sseettjjmmpp((eennvv))
- jjmmpp__bbuuff eennvv;;
-
- __lloonnggjjmmpp((eennvv,, vvaall))
- jjmmpp__bbuuff eennvv;;
-
- DDEESSCCRRIIPPTTIIOONN
- These routines are useful for dealing with errors and inter-
- rupts encountered in a low-level subroutine of a program.
-
- _S_e_t_j_m_p saves its stack environment in _e_n_v for later use by
- _l_o_n_g_j_m_p. It returns value 0.
-
- _L_o_n_g_j_m_p restores the environment saved by the last call of
- _s_e_t_j_m_p. It then returns in such a way that execution con-
- tinues as if the call of _s_e_t_j_m_p had just returned the value
- _v_a_l to the function that invoked _s_e_t_j_m_p, which must not
- itself have returned in the interim. All accessible data
- have values as of the time _l_o_n_g_j_m_p was called.
-
- _S_e_t_j_m_p and _l_o_n_g_j_m_p save and restore the signal mask _s_i_g_-
- _m_a_s_k(2), while __s_e_t_j_m_p and __l_o_n_g_j_m_p manipulate only the C
- stack and registers.
-
- EERRRROORRSS
- If the contents of the jjmmpp__bbuuff are corrupted, or correspond
- to an environment that has already returned, _l_o_n_g_j_m_p calls
- the routine _l_o_n_g_j_m_p_e_r_r_o_r. If _l_o_n_g_j_m_p_e_r_r_o_r returns the pro-
- gram is aborted. The default version of _l_o_n_g_j_m_p_e_r_r_o_r prints
- the message ``longjmp botch'' to standard error and returns.
- User programs wishing to exit more gracefully can write
- their own versions of _l_o_n_g_j_m_p_e_r_r_o_r.
-
- SSEEEE AALLSSOO
- sigvec(2), sigstack(2), signal(3)
-
-
-
-
-
-
-
-
- Sprite v1.0 January 9, 1986 1
-
-
-
-